//package com.michael.demo.springcloud.alibaba.consumer.config;
//
//import org.springframework.cloud.openfeign.FeignClient;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//import org.springframework.web.bind.annotation.GetMapping;
//import org.springframework.web.bind.annotation.PathVariable;
//import org.springframework.web.bind.annotation.RequestParam;
//
///**
// * 类功能描述:
// * <pre>
// *   配置一个 FeignClient
// * </pre>
// *
// * @author Michael
// * @version 1.0
// * @date 2021/03/30 16:01
// */
//@FeignClient(
//        name = "service-provider",
//        fallback = EchoServiceFallback.class,
//        configuration = FeignConfiguration.class,
//        fallbackFactory = FeignConfiguration.class
//)
//public interface EchoService {
//
//    @GetMapping("/echo/{str}")
//    String echo(@PathVariable("str") String str);
//
//    @GetMapping("/divide")
//    String divide(@RequestParam("a") Integer a, @RequestParam("b") Integer b);
//
//    default String divide(Integer a) {
//        return divide(a, 0);
//    }
//
//    @GetMapping("/notFound")
//    String notFound();
//}
//
//class EchoServiceFallback implements EchoService {
//
//    @Override
//    public String echo(@PathVariable("str") String str) {
//        return "echo fallback";
//    }
//
//    @Override
//    public String divide(@RequestParam Integer a, @RequestParam Integer b) {
//        return "divide fallback";
//    }
//
//    @Override
//    public String notFound() {
//        return "notFound fallback";
//    }
//
//}
//
//@Configuration
//class FeignConfiguration {
//
//    @Bean
//    public EchoServiceFallback echoServiceFallback() {
//        return new EchoServiceFallback();
//    }
//}
